Bidirectional associative memory (BAM) is a type of recurrent neural network. BAM was introduced by Bart Kosko in 1988.[1] There are two types of associative memory, auto-associative and hetero-associative. BAM is hetero-associative, meaning given a pattern it can return another pattern which is potentially of a different size. It is similar to the Hopfield network in that they are both forms of associative memory. However, Hopfield nets return patterns of the same size.
Contents |
It contains two layers of neurons one we shall call X and Y. Layer X and Y are fully connected with each other. Once the weights have been established, input into layer X presents the pattern in layer Y, and vice versa.
Imagine we wish to store two associations, A1:B1 and A2:B2.
These are then transformed into the bipolar forms:
From there, we calculate where denotes the transpose. So,
To retrieve the association A1, we multiply it by M to get (4, 2, -2, -4), which, when run through a threshold, yields (1, 1, 0, 0), which is B1. To find the reverse association, multiply this by the transpose of M.